home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / buffr2.zip / B_ARRAYS.PAS < prev    next >
Pascal/Delphi Source File  |  1993-01-04  |  4KB  |  124 lines

  1. Unit B_Arrays;
  2.  
  3. {Unit to demonstrate correct method of obtaining useable descendants}
  4. {of the Generic BufferedArray Object.}
  5.  
  6. INTERFACE
  7.  
  8. Uses BuffAray;
  9.  
  10. Type
  11.   BufferedIntArray = Object (BufferedArray)
  12.  
  13.                    Procedure Init (NumElements : LongInt;
  14.                                    MaxBuffSize : LongInt; FileName : String);
  15.                    Procedure Load (FileName : String; MaxBuffSize : LongInt);
  16.  
  17.                    {NOTE: Performing a LOAD should ONLY be done as a DIRECT}
  18.                    {      substitution for performing an INIT operation}
  19.                    {      Of course, CREATE should be used first.}
  20.  
  21.  
  22.                    Procedure Accept (I : Integer; Index : LongInt);
  23.                    Procedure Retrieve (Var I : Integer; Index : LongInt);
  24.                    Procedure Copy (Var From : BufferedIntArray);
  25.  
  26. (* ***** These Methods need no redefinition
  27.          copied here only for clarity
  28.  
  29.                    Procedure Create;
  30.                    Procedure Destroy;
  31.                    Procedure Store;
  32.  
  33.                    {NOTE: Performing a STORE has the same effect as}
  34.                    {      performing a DESTROY, accept the data is}
  35.                    {      saved in the filename given when performing INIT}
  36.  
  37.            {FileNames May be up to 65 characters long, and may conist
  38.             of Directory and Path information as well as name and extension.
  39.             To Load, BufferedAray MUST be ONLY CREATEd (or DESTROYed)}
  40.  
  41.                    Procedure Swap (I,J : LongInt);
  42.                    Function MaxSize : LongInt;
  43.                    Function ElemSize : Word;
  44.   ***** *)
  45.  
  46.                 End; {BufferedIntArray}
  47.  
  48.   BufferedRealArray = Object (BufferedArray)
  49.  
  50.                    Procedure Init (NumElements : LongInt;
  51.                                    MaxBuffSize : LongInt; FileName : String);
  52.                    Procedure Load (FileName : String; MaxBuffSize : LongInt);
  53.                    Procedure Accept (I : Real; Index : LongInt);
  54.                    Procedure Retrieve (Var I : Real; Index : LongInt);
  55.                    Procedure Copy (Var From : BufferedRealArray);
  56.  
  57.                 End; {BufferedRealArray}
  58.  
  59. IMPLEMENTATION
  60.  
  61. Procedure BufferedIntArray.Init (NumElements : LongInt;
  62.                               MaxBuffSize : LongInt; FileName : String);
  63. Begin
  64.   BufferedArray.Init (NumElements,SizeOf(Integer),MaxBuffSize,FileName)
  65. End;
  66.  
  67. Procedure BufferedIntArray.Load (FileName : String; MaxBuffSize : LongInt);
  68. Begin
  69.   BufferedArray.Load (FileName,SizeOf(Integer),MaxBuffSize)
  70. End;
  71.  
  72. Procedure BufferedIntArray.Accept (I : Integer; Index : LongInt);
  73. Var
  74.   Temp : Integer;
  75. Begin
  76.   Temp := I;
  77.   BufferedArray.Accept (Temp,Index,SizeOf(Integer))
  78. End;
  79.  
  80. Procedure BufferedIntArray.Retrieve (Var I : Integer; Index : LongInt);
  81. Begin
  82.   BufferedArray.Retrieve (I,Index,SizeOf(Integer))
  83. End;
  84.  
  85. Procedure BufferedIntArray.Copy (Var From : BufferedIntArray);
  86. Begin
  87.   BufferedArray.Copy (From)
  88. End;
  89.  
  90. (*************************************************************************)
  91. Procedure BufferedRealArray.Init (NumElements : LongInt;
  92.                               MaxBuffSize : LongInt; FileName : String);
  93. Begin
  94.   BufferedArray.Init (NumElements,SizeOf(Real),MaxBuffSize,FileName)
  95. End;
  96.  
  97. Procedure BufferedRealArray.Load (FileName : String; MaxBuffSize : LongInt);
  98. Begin
  99.   BufferedArray.Load (FileName,SizeOf(Real),MaxBuffSize)
  100. End;
  101.  
  102. Procedure BufferedRealArray.Accept (I : Real; Index : LongInt);
  103. Var
  104.   Temp : Real;
  105. Begin
  106.   Temp := I;
  107.   BufferedArray.Accept (Temp,Index,SizeOf(Real))
  108. End;
  109.  
  110. Procedure BufferedRealArray.Retrieve (Var I : Real; Index : LongInt);
  111. Begin
  112.   BufferedArray.Retrieve (I,Index,SizeOf(Real))
  113. End;
  114.  
  115. Procedure BufferedRealArray.Copy (Var From : BufferedRealArray);
  116. Begin
  117.   BufferedArray.Copy (From)
  118. End;
  119.  
  120. (*************************************************************************)
  121.  
  122. BEGIN
  123. END.
  124.